package com.example.mediademo.decode.interfaces;

import android.media.MediaFormat;

import java.nio.ByteBuffer;

/**
 * 音视频分离器
 */
public interface IExtractor {

    /**
     * 获取音视频的格式
     * @return MediaFormat对象
     */
    MediaFormat getFormat();

    /**
     * 读取音视频数据
     * @param buffer 音视频字节缓冲区
     * @return
     */
    int readBuffer(ByteBuffer buffer);

    /**
     * 获取当前帧时间
     * @return 帧时间戳
     */
    long getCurrentTimeStamp();

    int getSampleFlag();

    /**
     * 快进到某个位置
     * @param pos 位置
     * @return 返回实际帧的时间戳
     */
    long seek(long pos);

    /**
     * 设置开始的位置
     * @param pos 位置
     */
    void setStartPos(long pos);

    /**
     * 停止读取数据
     */
    void stop();




}
